
// IE等老浏览器不支持findIndex方法
if (!Array.prototype.findIndex) {
  Array.prototype.findIndex = function(callback, thisArg) {
      if (this === null || this === undefined) {
        throw new TypeError('Array.prototype.findIndex called on null or undefined');
      }

      if (typeof callback !== 'function') {
        throw new TypeError('callback must be a function');
      }

      var list = Object(this);
      var length = list.length >>> 0;
      var thisArg = arguments[1];

      for (var i = 0; i < length; i++) {
        if (callback.call(thisArg, list[i], i, list)) {
            return i;
        }
      }
      return -1;
  };
}


function getQueryParam(paramName) {
    // 获取当前页面的URL
    var url = window.location.href;

    // 创建URL对象
    var urlObj = new URL(url);
  
    // 获取URL上的查询参数
    var queryParams = urlObj.searchParams;
  
    // 获取特定的查询参数值
    var paramValue = queryParams.get(paramName);
  
    // 返回查询参数值
    return paramValue;
  }
    
  function handleEmpty(v){
    if (typeof v === 'undefined' || v === null) {
      return "";
    }
    return v
  }

  function formatTime(fmt) { 

    var date = new Date();

    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
  }




function calc(type, num1, num2) {
 
  var temp1, temp2, a;
  try {
      // 获取temp1小数点后的长度
      temp1 = num1.toString().split(".")[1].length;
  }
  catch (e) {
      temp1 = 0;
  }
  try {
      // 获取temp2小数点后的长度
      temp2 = num2.toString().split(".")[1].length;
  }
  catch (e) {
      temp2 = 0;
  }
  // Math.max(temp1, temp2) 为了获取temp1和temp2两个值中较大的一个
  // Math.pow(a,b) 表示 a 的 b 次方
  a = Math.pow(10, Math.max(temp1, temp2));

  // 计算的方式是先将所有的小数乘为整数，待加减运算执行完之后再除去对应的 a 的值，将其变为小数输出
  // 先判断执行的方式是否是加法，不是的话则执行减法运算
  return type == "add" ? (num1 * a + num2 * a) / a : (num1 * a - num2 * a) / a;

}

// 判断浏览器内核
function brower(){
  var UserAgent = navigator.userAgent.toLowerCase();
  return {
    isUc   : /ucweb/.test(UserAgent), // UC浏览器
    isChrome : /chrome/.test(UserAgent.substr(-33,6)), // Chrome浏览器
    isFirefox : /firefox/.test(UserAgent), // 火狐浏览器
    isOpera  : /opera/.test(UserAgent), // Opera浏览器
    isSafire : /safari/.test(UserAgent) && !/chrome/.test(UserAgent), // safire浏览器
    is360   : /360se/.test(UserAgent), // 360浏览器
    isBaidu  : /bidubrowser/.test(UserAgent), // 百度浏览器
    isSougou : /metasr/.test(UserAgent), // 搜狗浏览器
    isIE6   : /msie 6.0/.test(UserAgent), // IE6
    isIE7   : /msie 7.0/.test(UserAgent), // IE7
    isIE8   : /msie 8.0/.test(UserAgent), // IE8
    isIE9   : /msie 9.0/.test(UserAgent), // IE9
    isIE10  : /msie 10.0/.test(UserAgent), // IE10
    isIE11  : /msie 11.0/.test(UserAgent), // IE11
    isLB   : /lbbrowser/.test(UserAgent), // 猎豹浏览器
　  isWX   : /micromessenger/.test(UserAgent), // 微信内置浏览器
    isQQ   : /qqbrowser/.test(UserAgent) // QQ浏览器
  };
};